package datos;

import Negocios.Distribuidor;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author jhonatan
 */
public class SucursalProductoDB {
    
    
    public int retorna_cantidad(int id_producto,int id_sucursal)
    {
        Conexion c=new Conexion();
        int cantidad=0;
        try 
        {
            
            Connection cn=c.getConeccion();
            Statement st=cn.createStatement();
            String sql="Select Cantidad  from SucursalProducto where IdProducto="+id_producto+" and IdSucursal="+id_sucursal+" ";
            ResultSet rs=st.executeQuery(sql);
            while (rs.next())
            {
                cantidad=rs.getInt("Cantidad");
            }
            c.Commit();
            c.Desconectar();
        } 
        catch (SQLException ex)
        {
            c.RollBack();        
        }
        
        return cantidad;
    }
    public void actualizar_stock(int cantidad_actual,int cantidad,int id_sucursal,int id_producto,String distribuidor,String fecha) 
    {
        Conexion c=new Conexion();
        int cant=cantidad_actual+cantidad;
        Distribuidor distri=new Distribuidor();
        try
        {
        Connection cn=c.getConeccion();
        Statement st = cn.createStatement();
        String consulta = "UPDATE SucursalProducto set Cantidad="+cant+" WHERE  IdProducto="+id_producto+" and IdSucursal="+id_sucursal+"  ";
        int res=st.executeUpdate(consulta);
        if(res==0)
        {
        st.execute("INSERT INTO SUCURSALPRODUCTO(IDSUCURSAL,IDPRODUCTO,CANTIDAD) VALUES("+id_sucursal+","+id_producto+","+cant+")");  
        }
        int id_dis=distri.id_Distribuidor(distribuidor);
        st.execute("INSERT INTO COMPRAS(FECHA,IDDISTRIBUIDOR,IDPRODUCTO)VALUES('"+fecha+"',"+id_dis+","+id_producto+")");
        c.Commit();
        c.Desconectar();
        
        }
        catch (SQLException ex)
        {
            c.RollBack();          
        }
    }
    public int retorna_stock(int id_producto,int id_sucursal)
    {
        Conexion c=new Conexion();
        int cantidad=0;
        try 
        {
            
            Connection cn=c.getConeccion();
            Statement st=cn.createStatement();
            String sql="Select Cantidad  from SucursalProducto where IdProducto="+id_producto+" and IdSucursal="+id_sucursal+" ";
            ResultSet rs=st.executeQuery(sql);
            while (rs.next())
            {
                cantidad=rs.getInt("Cantidad");
            }
            c.Commit();
            c.Desconectar();
        } 
        catch (SQLException ex)
        {
            c.RollBack();        
        }
        
        return cantidad;
    }
    public void actualizar_cantidad(int cantidad_actual,int cantidad,int id_sucursal,int id_producto,String distribuidor,String fecha) 
    {
        Conexion c=new Conexion();
        int cant=cantidad_actual+cantidad;
        Distribuidor distri=new Distribuidor();
        try
        {
        Connection cn=c.getConeccion();
        Statement st = cn.createStatement();
        String consulta = "UPDATE SucursalProducto set Cantidad="+cant+" WHERE  IdProducto="+id_producto+" and IdSucursal="+id_sucursal+"  ";
        int res=st.executeUpdate(consulta);
        if(res==0)
        {
        st.execute("INSERT INTO SUCURSALPRODUCTO(IDSUCURSAL,IDPRODUCTO,CANTIDAD) VALUES("+id_sucursal+","+id_producto+","+cant+")");  
        }
        int id_dis=distri.id_Distribuidor(distribuidor);
        st.execute("INSERT INTO COMPRAS(FECHA,IDDISTRIBUIDOR,IDPRODUCTO)VALUES('"+fecha+"',"+id_dis+","+id_producto+")");
        c.Commit();
        c.Desconectar();
        
        }
        catch (SQLException ex)
        {
            c.RollBack();          
        }
    }
    
    
    
}
